{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "MIT_6036_xor_features.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "i2s-1AEA5iG5"
      },
      "source": [
        "# XOR Features with GD\n",
        "\n",
        "Build a linear classifier for the XOR dataset, using polynomial feature representations, and employing logistic regression with minimization by gradient descent"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oCHSrFty5bdP"
      },
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import matplotlib.colors as colors\n",
        "from scipy import special\n",
        "import sklearn.metrics\n",
        "plt.style.use('classic')"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7_vHSrtK6fKu"
      },
      "source": [
        "# data arrays should have shape[1] = number of data points, and shape[0] = dimension of vector\n",
        "\n",
        "X_xor = np.array([[-1, 1, -1,  1],\n",
        "                  [-1, 1,  1, -1]])\n",
        "Y_xor = np.array([[ 1, 1,  0,  0]])"
      ],
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "XQ6rzVhj6gmV",
        "outputId": "7573a11b-e790-4ca4-e25f-964b61a0a60f"
      },
      "source": [
        "# parameter vector thetavec should be such that theta.T @ X = same shape as Y\n",
        "x1 = X_xor[0,:]\n",
        "x2 = X_xor[1,:]\n",
        "print(X_xor[:,3])\n",
        "print(Y_xor[0,2])\n",
        "print(X_xor.shape)\n",
        "thetavec = np.array([[1,1]]).T\n",
        "print(thetavec.shape)\n",
        "g = thetavec.T @ X_xor\n",
        "print(f\"g shape={g.shape}\")\n",
        "print(g)\n",
        "print(thetavec)"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[ 1 -1]\n",
            "0\n",
            "(2, 4)\n",
            "(2, 1)\n",
            "g shape=(1, 4)\n",
            "[[-2  2  0  0]]\n",
            "[[1]\n",
            " [1]]\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "AZlp_z6aNTUy",
        "outputId": "b9c4700e-316e-427c-b535-57874e279a2c"
      },
      "source": [
        "np.vstack([X_xor, Y_xor])"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[-1,  1, -1,  1],\n",
              "       [-1,  1,  1, -1],\n",
              "       [ 1,  1,  0,  0]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 459
        },
        "id": "YAB0bBY56hNQ",
        "outputId": "dae354de-a629-4bd2-9dd5-8823619a2ed2"
      },
      "source": [
        "def xorplot(X, Y, model=None, phi=None, npts=100, xmin=-3, xmax=3):\n",
        "    '''\n",
        "    phi = function mapping X -> feature vector\n",
        "    model = function mapping feature vector -> classification guess\n",
        "    '''\n",
        "    if model is not None:\n",
        "        pdata = []\n",
        "        xvec = np.linspace(xmin, xmax, npts)\n",
        "        for x2 in xvec:\n",
        "            prow = []\n",
        "            for x1 in np.linspace(xmin, xmax, npts):\n",
        "                fv = phi([x1, x2])\n",
        "                g = model(fv)\n",
        "                if isinstance(g, np.ndarray):\n",
        "                    g = g[0]\n",
        "                prow.append(g)\n",
        "            pdata.append(prow)\n",
        "        # plt.imshow(pdata, extent=[-xrange, xrange, -xrange, xrange])\n",
        "        pdata = 1-np.array(pdata)\n",
        "        norm = colors.BoundaryNorm(boundaries=np.linspace(0,1,80), ncolors=80)\n",
        "        cm = plt.pcolormesh(xvec, xvec, pdata, shading='flat', \n",
        "                            norm=norm, cmap=\"Greys\") # light gray\n",
        "        # plt.colorbar(cm)\n",
        "        ax = plt.gca()\n",
        "        ax.set_aspect('equal')\n",
        "        ax.patch.set_facecolor('#ababab')       # white background\n",
        "        ax.patch.set_alpha(0.5)\n",
        "        fig = plt.gcf()\n",
        "        fig.patch.set_facecolor('#E0E0E0')\n",
        "        fig.patch.set_alpha(0)\n",
        "    plt.xlabel(\"x1\")\n",
        "    plt.ylabel(\"x2\")\n",
        "    ax = plt.gca()\n",
        "    ax.set_yticks(range(xmin, xmax+1), minor=False)\n",
        "    ax.set_yticks(range(xmin, xmax+1), minor=True)    \n",
        "    plt.grid(True, \"major\")\n",
        "    # plot signs for all labeled points\n",
        "    mctab = {0: ('_', 'r'),\n",
        "             1: ('+', 'g'),\n",
        "             }\n",
        "    xydat = np.vstack([X, Y])\n",
        "    for k in range(Y.shape[1]):\n",
        "        x1, x2, y = xydat[:, k]\n",
        "        marker, mcolor = mctab[y]\n",
        "        plt.scatter([x1],[x2], s=200, marker=marker, linewidth=3, color=mcolor)\n",
        "\n",
        "def model1(fv):\n",
        "    if fv[0] * fv[1] > 0:\n",
        "        return 1\n",
        "    return 0\n",
        "\n",
        "def phi1(xv):\n",
        "    return xv\n",
        "\n",
        "xorplot(X_xor, Y_xor, model1, phi1, 100)"
      ],
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "uuuXuqd2Gy6q",
        "outputId": "b9c14e26-ee09-4e1b-f406-a6c8b7315d86"
      },
      "source": [
        "def classify(X, thetavec, theta0):\n",
        "    '''\n",
        "    thetavec = parameer vector (should be column vector, shape d x 1)\n",
        "    '''\n",
        "    return (thetavec.T @ X + theta0 > 0)*1\n",
        "\n",
        "def sigmoid(z):\n",
        "    return 1/(1+np.exp(-z))\n",
        "\n",
        "def objective_func(X, yvec, thetavec, theta0, lamb):\n",
        "    '''\n",
        "    Return scalar value giving logistic regression objective function evaluated \n",
        "    on the given X, Y and model parameters.\n",
        "    \n",
        "    lamb = regularization strength\n",
        "    '''\n",
        "    guesses = classify(X, thetavec, theta0)\n",
        "    # Lnll = - special.xlogy(yvec, guesses) - special.xlogy(1-yvec, 1-guesses)\n",
        "    Lnll = sklearn.metrics.log_loss(yvec, guesses)\n",
        "    return Lnll.sum() + lamb/2 * (thetavec**2).sum()\n",
        "\n",
        "def logistic_regression(X, yvec, epsilon=0.01, lamb=0.01, eta=0.05, niter=1000, verbose=True):\n",
        "    '''\n",
        "    Return model parameters (thetavec, theta0) for linear classifier fit to xvec, yvec\n",
        "    Build this using logistic regression, with gradient descent minimizing\n",
        "    the loss function over the specified number of iterations.\n",
        "\n",
        "    epsilon = termination criterion (change must be smaller than this value)\n",
        "    lamb = regularization strength\n",
        "    eta = learning rate\n",
        "    niter = max number of iterations\n",
        "    '''\n",
        "    d = X.shape[0]\n",
        "    thetavec = np.random.randn(d, 1)\n",
        "    theta0 = np.random.randn()\n",
        "    t = 0\n",
        "    Jlr_old = None\n",
        "    npts = X.shape[1]\n",
        "    for k in range(niter):\n",
        "        error = sigmoid(thetavec.T @ X+ theta0) - yvec\n",
        "        d_thetavec = (error * X).sum(1, keepdims=True)/npts + lamb * thetavec\n",
        "        d_theta0 = error.sum()/npts\n",
        "        thetavec_new = thetavec - eta * d_thetavec\n",
        "        theta0_new = theta0 - eta * d_theta0\n",
        "        thetavec = thetavec_new\n",
        "        theta0 = theta0_new\n",
        "        Jlr = objective_func(X, yvec, thetavec, theta0, lamb)\n",
        "        if verbose:\n",
        "            print(f\"[iter {k+1}] Jlr={Jlr}, theta={thetavec.T, theta0}\")\n",
        "        if (Jlr_old is not None) and abs(Jlr-Jlr_old) < epsilon:\n",
        "            break\n",
        "        Jlr_old = Jlr\n",
        "    print(f\"[iter {k+1}] Jlr={Jlr}, theta={thetavec.T, theta0}\")        \n",
        "    return (thetavec, theta0)\n",
        "\n",
        "tv = np.random.randn(2, 1)\n",
        "t0 = np.random.randn()\n",
        "print(f\"For theta={tv, t0}, guesses = {classify(X_xor, tv, t0)}\")\n",
        "print(f\"For theta={tv, t0}, Jlr={objective_func(X_xor, Y_xor, tv, t0, 0)}\")"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "For theta=(array([[ 0.93597116],\n",
            "       [-1.2535518 ]]), 0.33182692515772483), guesses = [[1 1 0 1]]\n",
            "For theta=(array([[ 0.93597116],\n",
            "       [-1.2535518 ]]), 0.33182692515772483), Jlr=2.19722457733622\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "MiozT9ed6-lN",
        "outputId": "db75d2a2-e81e-49fa-992c-88ab4fe6dbc9"
      },
      "source": [
        "def phi1(xv):\n",
        "    x1 = xv[0]\n",
        "    x2 = xv[1]\n",
        "    return [1, x1, x2, x1**2, x1*x2, x2**2]\n",
        "\n",
        "def make_model(X, Y, phifun, niter=100, epsilon=1.0e-3, eta=0.05, lamb=0.01, verbose=False):\n",
        "    '''\n",
        "    phifun = feature representation function mapping x -> phi vector\n",
        "    '''\n",
        "    phivec = []\n",
        "    yvec = []\n",
        "    for k in range(X.shape[1]):\n",
        "        xvec = X[:, k]\n",
        "        y = Y[0, k]\n",
        "        # print(xvec)\n",
        "        phivec.append(phifun(xvec))\n",
        "        # print(f\"{phivec[-1]} -> {y}\")\n",
        "        yvec.append(y)\n",
        "    phivec = np.array(phivec).T\n",
        "    (thetavec, theta0) = logistic_regression(phivec, Y, niter=niter, \n",
        "                                             eta=eta, lamb=lamb,\n",
        "                                             epsilon=epsilon, verbose=verbose)\n",
        "    def model(pv):\n",
        "        return classify(pv, thetavec, theta0)\n",
        "    return model\n",
        "\n",
        "for k in range(5, 12):\n",
        "    print(f\"======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model2 = make_model(X_xor, Y_xor, phi1, niter=100, eta=0.1, lamb=0.04, \n",
        "                        epsilon=1.0e-5, verbose=False)\n",
        "    xorplot(X_xor, Y_xor, model2, phi1, npts=400)\n",
        "    plt.show()"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 5 =============================\n",
            "[iter 100] Jlr=1.490301644810981, theta=(array([[ 0.21099206, -0.06823823,  0.3772958 , -0.25338133,  1.99831484,\n",
            "         0.97538385]]), -1.0412852251739448)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAG6CAYAAACY3kjBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMTQAADE0B0s6tTgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3df3Dkd33f8dcbzkhgy5YdnXNDMLgTDmhsR8QciUMKghQ4EpheZ4pj8qOxmxYmMPSIlR9Y1yS+yy9Qy1gcqEoF0waVdpAaV83hJCCF1JapWRUEzCG7VZENygTMYi8+2bpLdo2TT//QD1Y6nbRf3e6+v9/P5/mY0ZxXu1q9XtLdvv39fj67ayEEAQCQkmd5BwAAoN0YfgCA5DD8AADJYfgBAJLD8AMAJIfhBwBIDsMPAJAchh8AIDm5Hn5mdqeZPWJmT5pZxcymzOzl3rkAAMWW6+EnaVzSoRDCFZKeL2la0pSZPds3FgCgyHI9/EII/y+EcGbtokn6O0lXS7rKLxUAoOj2eQfYjZm9WdJ/lXSFpCBpKITwuG8qAECRWVFe2NrMrpJ0q6RvhBD+eJvrTaunRlfanQ0A4K5L0qOhwaFWmOEnSWb2LElnJL0mhHB6y3U/IOkbLsEAAHnwghDCNxu5Ye5Pe27xLEmXSDoo6fSW61Yk6U//9E916aWXtjtXLhw9elQf+tCHvGNsuPHGG9v6/Q4fPqypqam2fs88oT/9U+3/1FNP6ZprrpEynPnL9fAzs/dIGg8hfNvM9kv6fUlPS3rgQl9z6aWX6rLLLmtXxFx54QtfmKvuX/3qV3Xo0KG2fb+XvvSluvzyy9v2/fKG/vRPuX9Wud7tKekNkr5iZuckfUXSAUmvDyF8yzdWPl1xxRXeEVxddVXam4DpT380LtdHfiGEt3hnKJKbbrrJO8J55ubm2nb0d/jw4bZ8n7yiP/3RuLwf+SGDPJ3y9JD6kS/96Y/GMfwisri46B1hW3Nzc235PqdPb90DlRb60x+NK9RTHXZiZpdLevLee+9N/ggoj9q58QVAWp566qn1I98rQghPNfI1HPmhLdp19AcAjWD4AQCSw/CLyPDwsHeEHbX66G9gYKCl95939Kc/GseaX0QqlYp6enq8Y+yolWt/5XJZBw4caNn95x396Z9qf9b8Epf3wSe19ugv1X/46+hPfzSO4QcASA7DLyKlUsk7QkNadfSX6ov6rqM//dE4hl9EVlbSfivD5eVl7wiu6E9/NI4NL3DDE98BNAMbXgAAaADDLyK1Ws07QibNXvurVqtNvb+ioT/90TiGX0RGRka8I7g6duyYdwRX9Kc/GseaX0RqtZo6Ojq8Y2TWrLW/arWqzs7OptxXEdGf/qn2Z80vcUUcfM2U6j/8dfSnPxrH8IM73vEBQLsx/CIyPT3tHcHVxMSEdwRX9Kc/Gsfwi0hXV5d3hD1rxtFfd3d3E5IUF/3pj8ax4QW5wZPeAewFG15QaKz9AWgXhl9EKpWKd4SLdjEDsFwuNzFJ8dCf/mgcwy8i4+Pj3hFcnTx50juCK/rTH41jzQ+5xPofgEax5gcAQAMYfsglNr8AaCWGX0QmJye9I7gaHR31juCK/vRH4xh+ETl48KB3hKbKevTX29vboiTFQH/6o3FseEGusfEFwG7Y8ILosPYHoBUYfhFZWlryjtASjQ7AhYWFFifJN/rTH41j+EVkZmbGO4KrU6dOeUdwRX/6o3Gs+aEwWP8DsB3W/AAAaADDD4XB5hcAzcLwi8jY2Jh3BFeDg4PeEVzRn/5oHMMvIn19fd4RWm6no78jR460MUn+0J/+aBwbXlA4bHwBUI8NL0gCa38ALhbDLyLz8/PeEVzNzs56R3BFf/qjcQy/iCwuLnpHaJvtjv5Onz7tkCQ/6E9/NI41PxQWa38AJNb8AABoCMMPAJAchl9EhoeHvSO01dZ1v4GBAack+UB/+qNxrPlFpFKpqKenxztGW9Wv+5XLZR04cMAxjS/60z/V/ntZ82P4IQpsfgHSxYYXAAAawPCLSKlU8o7gZm5uTlNTU94xXNGf/mgcwy8iKysr3hFcLS8ve0dwRX/6o3Gs+SEqrP0B6WHNDwCABjD8IlKr1bwjuKrVakm/40O1WvWO4Ir+affPKtfDz8zeb2bzZvaUmX3LzD5hZtd458qrkZER7wiuUu9/7Ngx7wiu6J92/6xyveZnZu+TdLekeUnPkzQi6YdCCC/f5rbJr/nVajV1dHR4x3BT3z/Ftb9qtarOzk7vGG7on27/vaz57WttpIsTQqh/vZ6nzezfSvqymV0ZQjjjlSuvUh58Ev1TfeBbR/+0+2eV69Oe23ijpL9i8GE3Ka/9AdhdYYafmb1e0p2Sftk7S15NT097R3C1tX9qA3BiYsI7giv6p90/q0IMPzN7i1bX/n4hhPDpnW57xx13aGhoSENDQ7r//vs1NDS0aRfk9PT0pldCqVQq570bwuTkpObn5zcuLy0taWxsbNNtxsbGtLS0tHF5fn5ek5OTm24zPDysSqWycblUKm16gK7Vak3N19XVlet89VqRr6ur67x85XL5vFe7Hx0d1ezs7MblhYUFDQ4ObrrN4OCgFhYWNi7Pzs5qdHR0020GBgZULpc3Lk9NTW16AKpWq+rv79+0C29iYmLTK3E0M98DDzyQ63yt/vl1d3fnOt+6VuV7+OGHc52v2T+/qakp9ff367bbbtPhw4eVVa43vEiSmf28Vje6/EwI4YKv38OGF1xIiptfgJRE9yR3M3u3pGFJb9lp8AEAkEWuh5+kD0u6TNKnzOxs3cervYPlUf0pwhRdqH8qa3/1p5hSRP+0+2eV6+EXQrAQwiUhhMu2fHzWO1sejY+Pe0dwlXr/kydPekdwRf+0+2eV+zW/RrHmh92w9gfEKbo1P6CZUjn9CWB3DD8AQHIYfhHZ+jy51DTSP+ajv63Ps0oN/dPunxXDLyIHDx70juAq9f69vb3eEVzRP+3+WbHhBUli8wsQDza8AADQAIZfROpfKzNFWfrHuPZX/1qLKaJ/2v2zYvhFZGZmxjuCq6z9YxuAp06d8o7giv5p98+KNT8kj/U/oNhY8wMAoAEMPyQvttOfAHbH8IvI1jeMTU3q/be+4Whq6J92/6wYfhHp6+vzjuDqYvrHcPR35MgR7wiu6J92/6zY8ALUYfMLUDxseAEAoAEMv4jMz897R3DVjP5FPv05OzvrHcEV/dPunxXDLyKLi4veEVyl3v/06dPeEVzRP+3+WbHmB2yDtT+gOFjzA5qkyKc/AeyO4QcASA7DLyLDw8PeEVw1u3/Rjv4GBga8I7iif9r9s2LNLyKVSkU9PT3eMdy0on+R1v7K5bIOHDjgHcMN/dPtz5pf4lIefFJr+hfp6C/VB7519E+7f1YMPwBAchh+ESmVSt4RXKXef2pqyjuCK/qn3T8rhl9EVlZWvCO4alX/opz6XF5e9o7giv5p98+KDS9Ag4q0+QVICRteAABoAMMvIrVazTuCq1b3z/vpz2q16h3BFf3T7p8Vwy8iIyMj3hFctaN/ngfgsWPHvCO4on/a/bNizS8itVpNHR0d3jHctKt/Xtf+qtWqOjs7vWO4oX+6/VnzS1zKg09qX/+8Hv2l+sC3jv5p98+K4QcASA7DLyLT09PeEVy1s//c3FzujgAnJia8I7iif9r9s2L4RaSrq8s7gqvU+3d3d3tHcEX/tPtnxYYX4CLldQMMkAo2vAAO8nb6E8DuGH4RqVQq3hFcpd6/XC57R3BF/7T7Z8Xwi8j4+Lh3BFee/fNw9Hfy5EnvCK7on3b/rFjzA5qI9T+g/VjzA5zl4QgQwO4YfgCA5DD8IjI5OekdwVVe+nsd/Y2Ojrp837ygf9r9s2L4ReTgwYPeEVzlqb/HAOzt7W3798wT+qfdPys2vAAtwuYXoD3Y8ALkCJtfgPxi+EVkaWnJO4KrPPZv5wBcWFho2/fKI/qn3T8rhl9EZmZmvCO4ymv/dg3AU6dOteX75BX90+6fFWt+QBuw/ge0Dmt+QE6x/gfkyz7vAEAq5ubmOAJsgcfOPaaRL4xsXH7XK9+lqy+92jERioAjv4iMjY15R3BVhP6tPAIcHBxs2X3n2ePnHteJmRM68fsndGLmhB4/97h3JBep/v73iuEXkb6+Pu8IrorSv1UD8MiRIy2538J4qXcAX8n//jPK9fAzs7eZ2WfN7CkzC2bGadodXHvttd4RXKXe/2Uve5l3BF/7vQP4Sv73n1Guh5+kM5JGJP2KdxCgmdgAA/jK9fALIUyFED4h6WveWYpgfn7eO4KrovVv9gCcnZ1t6v0Vzl97B/CV/O8/I04jRmRxcVE33HCDd4yW2ffEE9p35swFr//65z6nVz7veRe8/pkrr9QzV13Vimh71swdoKdPn9ZNN93UlPvKo8fOPbbtZpaHHn9o9T++Lemaustb7L90f9S7QGP//TdbIZ7kbmavlXSvpEtCCM9c4DY8yT1yz//IR/T8j350z1//6Nvfrkff8Y4mJmoengKxu+P3HdeJmRN7/vo7++7U8dceb14g5AZPcpd0xx13aGhoSENDQ7r//vs1NDSkWq22cf309LRKpdLG5UqlouHh4U33MTk5uekU2tLS0nnb6MfGxja9luT8/Px57yc3PDysSqWycblUKml6enrjcq1WI1+GfPf99V9rou76qqT+tT/XTUiaqrtcljSgzfL+8xsdHd10CmthYeG8beyDg4ObXstxdnb2vPdzGxgYULlc3rg8NTWliYnv/QSr1ar6+/tVrX7vJzgxMaGpqe/9BMvlsgYGNv8EPfPpQUkP193JiqTPaLM5bT4F+rik/7X5Jqn+/GLKNzU1pf7+ft122206fPiwsuLID4UR85GfxNHfbjjyw4Xs5cgv18PPzJ4t6RJJr9Hq/9BfJunvJD0dQvj7LbdNfvgNDw/r3e9+t3eMltltze+Dn/iEfuVnf/aC1+dxzW+rixmAAwMDet/73tfENPmy05rfLXffsnoE+Hpp4q0Tum7/defdLvY1v9h//zuJcfjdJumPtrnqdSGE+7bcNvnhV6lU1NPT4x3DTSz99zoAy+WyDhw40OQ0+ffQYw/p+j+8fvUUaJf04Dsf1HVXnz/8Ypfq71+KcM0vhPCxEIJt83Gfd7Y8iuGB/2LE0n+vT4FI9YFvQ5d3AF/J//4zyvXwA1LFk+CB1mL4RaR+F2GKYuufdQDW75JL0sO73yRmyf/+M2L4RWRlZcU7gqsY+2cZgMvLyy1MUgDV3W8Ss+R//xnlesNLFmx4Qcx4GsSF8X5+iG63ZxYMP8SOAQhsL7rdnsim/pVEUhR7/91OgW56JZQE0T/t/lkx/CIyMjKy+40ilkL/nQbgsWPH2pgkf+ifdv+sOO0ZkVqtpo6ODu8YblLrv/U0aLVaVWdnp1Maf/RPtz+nPROX0gP/dlLrv/UoMNUHvnX0T7t/Vgw/oMB4MjywNwy/iNS/nU6KUu2/PgDr3y4mRfRPu39WDL+IdHWl/eKGKfefm5tTd3e3dwxX9E+7f1ZseAEiw/MBkRo2vABgHRBoAMMvIpVKxTuCK/p/r//c3FxyQ7BcLntHcJV6/6wYfhEZHx/3juCK/uf3T2kAnjx50juCq9T7Z8WaH5AI1gIRK9b8AFxQSkeBwG4YfkBCGIDAKoZfRCYnJ70juKJ/Y/1j3QwzOjrqHcFV6v2zYvhF5ODBg94RXNE/W//YhmBvb693BFep98+KDS8ANmFjDIqGDS8ALlpsR4TAdhh+EVlaWvKO4Ir+S029v6INwYWFBe8IrlLvnxXDLyIzMzPeEVzRvzX914dg3gfhqVOnvCO4Sr1/Vqz5AdgT1gaRF3tZ89vX2kgAYlV/JMggRNEw/ABctK2nRBmGyDvW/CIyNjbmHcEV/fPT32OdcHBwsG3fK49i71//d2rrx5e+9KXM98eRX0T6+vq8I7iifz77t+uo8MiRIy2536IoUv88bJ5iwwuAXOBUaXF5D7OzZ8/qda97ncSGFwBFs9MDKIOx9bwHWLsx/CIyPz+vG264wTuGG/rH27+RB+ZnnnlGN910UxvS5M/c3FzUv/9WYPhFZHFxMem//PRPu/8nP/lJ7duX7kNa6r//rFjzAwAU2l7W/HiqAwAgOQw/AEByGH4RGR4e9o7giv70T1nq/bNizS8ilUpFPT093jHc0J/+9E+zP2t+iUv1L/46+tM/Zan3z4rhBwBIDsMvIqVSyTuCK/rTP2Wp98+K4ReRlZUV7wiu6E//lKXePys2vAAACo0NLwAANIDhF5FareYdwRX96Z+y1PtnxfCLyMjIiHcEV/Snf8pS758Va34RqdVq6ujo8I7hhv70p3+a/VnzS1yqf/HX0Z/+KUu9f1YMPwBAchh+EZmenvaO4Ir+9E9Z6v2zYvhFpKuryzuCK/rTP2Wp98+KDS8AgEJjwwsAAA246OFnZi9oRpAd7t/M7ISZPWpm58zsfjO7vpXfs6gqlYp3BFf0p3/KUu+f1a7Dz8y6zWzSzM6Y2f/cZvD8nxZlW/drkn5J0mFJPZIekDRlZpzb3GJ8fNw7giv60z9lqffPatc1PzP7Q0kHJX1YqwPo5yUdDiHMrl2/EkJo2UqrmX1d0gdDCCfXLu+T9C1J/SGEj9fdjjU/AEjQXtb89jVwmzdLemUI4duSTpnZrKR7zOwfhxC+IqllO2bM7ApJ10r6/PrnQgjPmNmXJf2IpI9f4EsBALigRoZft6TH1i+EEP6zmXVKmjazvpYlW3X52p/LWz5/pu46AAAyaWTDy7ckvaT+EyGEj0gakvSXkp7Tglzr1g9fu7d8/sq66za54447NDQ0pKGhId1///0aGhra9Grn09PTm97xuFKpaHh4eNN9TE5Oan5+fuPy0tKSxsbGNt1mbGxMS0tLG5fn5+c1OTm56TbDw8ObFqFLpdKmJ6LWarWm5qv//nnMV68V+SYnJ3OdT2rtz++3fuu3cp2v1T+/9fvPa751rcr3gQ98INf5mv3zK5VKGhoa0vHjx3X06FFl1eia3xMhhH+zzXWDkn49hNCyp0ysrfkNhRA+tHZ5n6RHJf0qa36bzc/P64YbbvCO4Yb+9Kd/mv33subXyPB7jlZPj3aEEM5sc/2rQwif3UPehpjZr0v615J+WtIjkn5T0m2SXhpCOFt3u+SHHwCkqCVPcg8hPB1C+BtJXzKzG+uvM7N/KumTewmbwQckfUzSZyR9R9KrJb2pfvABAJBFltOV/0HSjJn9KzN7lpn9O0l/JOlftibaqrDqt0MIB0IIzwshvCaEML/7V6an/hx8iui/5B3BFf2XvCMUSsPDL4QwKOmfSPo9SV+T9EZJPxpCmNzxC9E2MzMz3hFc0Z/+KUu9f1aZXtjazG6SdLek50r6oqRbtlsH9MCaHwCkqaUvbG1mRyX9haT3SXqhVp9792Uze8UesgIA4KaRJ7mv+w1JbwwhrD8J42fM7HZJ94onnAMACiTLhpcb6wafJCmEMCTpp5obCXu19YmoqaE//VOWev+ssmx4eewCn3+geXFwMfr6Wv1qc/lGf/qnLPX+WfFmthG59tprvSO4ov+13hFc0f9a7wiFwvADACSH4ReR+hejTRH96Z+y1PtnxfCLyOLioncEV/Snf8pS759Vpie55xlPcgeANLX0Se4AAMSC4QcASA7DLyJb3/E4NfSnf8pS758Va34RqVQq6unp8Y7hhv70p3+a/VnzS1yqf/HX0Z/+KUu9f1YMPwBAchh+ESmVSrvfKGL0p3/KUu+fFcMvIisrK94RXNGf/ilLvX9WbHgBABQaG14AAGgAwy8itVrNO4Ir+tM/Zan3z2qfdwBc2KFDhzLdvr+/X3fddVeL0jRubm7O5fuOjIzo9ttvd/neeUB/+qfcPyvW/Joo67Bqtmq1qs7OTtcMe9GsYVmr1dTR0dGU+yoi+tM/1f57WfPjyG8L7wF2MYo4+KTdf+aNDsdU/+Gvoz/90bhoh1+Rhxg2u9Dv0uv0KoDii27Dy4033pjs4JuYmPCO0FaHDh3a9PHII494R3I1PT3tHcEV/dPun1W0R34p6u7u9o7gqru7+7z/8Unp6LCrq8s7giv6p90/q+g2vDz55JO6/PLLveMgp1IahkAq2PAC7KL+yJBBCKQrujW/lJXLZe8IrrL2r18vjEGlUvGO4Ir+affPiuEXkZMnT3pHcHUx/WMYhOPj494RXNE/7f5ZseYHXACnRYFi4IWtgSYq+pEggAtjwwuwi5SfPgHEiiO/iIyOjnpHcNWu/nk9IpycnPSO4Ir+affPiuEXkd7eXu8IrtrdP29D8ODBg94RXNE/7f5ZseEFaAJOhQJ+2PACOMnbUSCAnTH8IrKwsOAdwVUe+nsOwaWlJZfvmxf0X/KOUCgMv4icOnXKO4KrPPX3GIAzMzNt/555Qv+0+2fFmh/QYqwHAq3Fmh+QQ6wFAvnD8APagAEI5AvDLyKDg4PeEVzlvX+rN8OMjY217L6LgP5p98+K4ReRI0eOeEdwVZT+rRqAfX19LbnfoqB/2v2zYsML4ISNMEBzsOEFKBDWAQE/DL+IzM7OekdwVcT+zRyA8/PzTbuvIqJ/2v2zYvhF5PTp094RXBW1f7MG4OLiYlPup6jon3b/rFjzA3KCNUBgb/ay5seb2aLwHjv3mEa+MLJx+V2vfJeuvvRqx0R7c+jQIQYg0CYMPxTe4+ce14mZExuXb/6hmws5/CQGINAurPlFZGBgwDuCr894B2iOva4BDg8PNzlJsdA/7f5Z5Xb4mVmvmX3KzMpmFszs9d6Z8u4973mPdwRfP+YdoHn2MgDf9ra3tSBJcdA/7f5Z5Xb4SXpa0qSkt3gHKYoDBw54R/DV5R2gubIOwJ6enhYlKQb6p90/q9wOvxDC/w0hfDSEwAIIksUT4YHWYMNLRKampnT48GHvGC3z2LnH9Pi5x8/7/EOPP7T6Hw9LenHd5S32X7q/kBthGt0EUyqV9OM//uNtSORj3xNPaN+ZMxe8/oHTp/UTvb0XvP6ZK6/UM1dd1YpouRD777/Z2j78zOxjkm7d4SYzIYTXtidNXJaXl70jtNTIF0Y27eo8T3X1j1vuvmXbq+/su1PHX3u8+cHaoJEBuLKy0qY0Pq6++249/6MfveD1D0m6foevf/Ttb9ej73hH03PlRey//2bzOO35bkn7d/i4qJfmv/nmm9Xf36/+/n7dc8896u/vV7Va3bh+YmJCU1NTG5fL5fJ5uyRHR0c3vVTWwsLCeW+XMzg4qIWFhY3Ls7OzGh0d3XSbgYEBlcvljctTU1OamJjYuFytVpua75Zbvvegn8d89faS7+HPPyw9WHeD70r69Nqf0uoj34NaPQJct6LzdoEW9fdbfwp0bGxMS0tLG5fn5+d19uzZTfczPDysSqWycblUKml6enrjcq1W09DQkGq12sbnpqenVSqVNi5XKpXzdhFOTk5ueimtpaWl895OZ7t8k5OTF51vQtJU3X2UJa3/9Nb/9o9Kqn+huwVJW9/sqlX5PH9+XV1duc7X7J9fqVTS0NCQjh8/rqNHjyqrQrzCi5kFSW8IIVxwMzuv8BK/4/cd3/nIbxdFPvKrl+rzAJ//kY/seOS3m9iP/FK2l1d4ye3wMzOT1LF28W8l/bSkeyU9E0J4ZpvbJz/8qtWqOjs7vWO0zE5rfrfcfcvqEeAl0sRbJ3Td/uvOu11R1/y2s90ArNVq6ujo2ObWcdhtza/29NPqeM5zLnh97Gt+sf/+dxLby5u9SNLX6y7/+dqfJyQdb3uaAjh27Jjuuusu7xgtc/WlV+88vP5S0puk6/Zfp+uuPn/4xWS7NcCRkRHdfvvtTola75mrrtpxeA0NDUXdfzex//6bLbdHfllx5Bf/kd+FPPTYQ7r+D6/fOPJ78J0PRj/81tUPwJT/z1+if8r9eTPbxKU4+Da5xDtA+9Vvgkn1gW8d/dPunxXDDwCQHIZfROq32Sfpwd1vEqP1o7/6beQpon/a/bPK84YXZNTd3e0dwcX+S/frzr479fBzH9aLf/TF2n/pfu9IbXfo0KFNz49KUVdXZC/umlHq/bNiwwsQkVSfA4i0seEFSBwvhA00huEXkfqX2koR/dPuX/9SWilKvX9WDL+InDx50juCK/qv9k/16G98fNw7gqvU+2fFmh8QKdb/kArW/ABsSPUIEGgEww8AkByGX0S2vt9cauh/fv+Ujv62vp9calLvnxXDLyK9vb3eEVzRf/v+qQzAgwcPekdwlXr/rNjwAiSAzS+IGRteAGwrlaM/oFEMv4gsLCx4R3BF/537xz4Al5aWvCO4Sr1/Vgy/iJw6dco7giv6p91/ZmbGO4Kr1PtnxZofkBDW/hAj1vwA7Cj2U59Aoxh+QGIYgADDLyqDg4PeEVzRP+3+Y2Nj3hFcpd4/K4ZfRI4cOeIdwRX9G+9/6NCh6I4A+/r6vCO4Sr1/Vmx4ARLGBhjEgA0vADKJ7egPaBTDLyKzs7PeEVzRf2/9YxmA8/Pz3hFcpd4/K4ZfRE6fPu0dwRX90+6/uLjoHcFV6v2zYs0PgCTW/1BcrPkBANAAhh8ASfGs/QGNYPhFZGBgwDuCK/pffP8iD8Dh4WHvCK5S758Va34RKZfLOnDggHcMN/RvTv+irv1VKhX19PR4x3CTcn/W/BKX8gO/RP9m9S/q0V+qD/zrUu+fFcMPwHmKOgCBRjH8IjI1NeUdwRX90+5fKpW8I7hKvX9WDL+ILC8ve0dwRf/m9i/a0d/Kyop3BFep98+KDS8ALqiom1+QFja8AGiqoh39AY1i+EWkWq16R3BF/9b0L8oArNVq3hFcpd4/K4ZfRI4dO+YdwRX90+4/MjLiHcFV6v2zYs0vItVqVZ2dnd4x3NC/tf3zvv5Xq9XU0dHhHcNNyv1Z80tcyg/8Ev1T75/qA/+61PtnxfAD0JCirP0BjWD4RWRiYsI7giv6t75/ngfg9PS0dwRXqffPiuEXke7ubu8Iruifdv+uri7vCK5S758VG14AZJb3zS9ICxteAABoAMMvIuVy2TuCK/q3r38e1/4qlYp3BFep98+K4ReRkydPekdwRf/29s/bABwfH/eO4Cr1/lmx5gfgorD+B2+s+QEA0MFUg4sAAAxLSURBVACGH4CLkrfTn0AjGH4RGR0d9Y7giv5p95+cnPSO4Cr1/lkx/CLS29vrHcEV/f365+Ho7+DBg94RXKXePys2vABoGja/wENUG17M7BfN7AEze8LMvmNm95nZT3jnAgAUX26Hn6QuSb8j6UWSDkj6E0mfNrMXuKbKsYWFBe8Irujv39/z9OfS0pLb986D1PtnldvhF0L49yGEqRDCSgjhuyGED0r6O0mv9M6WV6dOnfKO4Ir+afefmZnxjuAq9f5ZFWbNz8x+TNIDkl4SQvjaNtez5gfkBGt/aKdCrPmZ2cfMLOzwcd82X3ONpAlJ799u8AEAkIXHac93S9q/w8eR+hub2Ysl3S/pv4UQfnO3O7/55pvV39+v/v5+3XPPPerv71e1Wt24fmJiQlNTUxuXy+WyBgYGNt3H6OioZmdnNy4vLCxocHBw020GBwc3rbHMzs6e9zyrgYGBTS82PDU1tekNR6vVKvnIF2W+sbGxTWtQ8/Pz5z0PbXh4eNOLMZdKpU1vyFqr1TQ0NKRarbbxuenpaZVKpY3LlUpFw8PDm+53cnJS8/PzG5eXlpY0NjZGvsjylUolDQ0N6fjx4zp69KiyyvVpTzP7YUlTkkZCCL+7y22TP+05ODio9773vd4x3NA/P/09TnuOjY3p1ltvbfv3zYuU+xfitGejzOxVku6TNLjb4MOqI0eO7H6jiNE/P/09dn329fW1/XvmSer9s8rtkZ+Z3SupT9LfbLnqD0IIf7DN7ZM/8gPyho0vaIe9HPnta22kvQshvM47AwAgTrk97Yns6jchpIj++evfztOf9Zs0UpR6/6wYfhE5ffq0dwRX9E+7/+LioncEV6n3zyq3a35ZseYH5Bdrf2ilqHZ7AgDQKgw/AC2Xh/f7A+ox/CKy9ZU4UkP/tPtvfSWQ1KTePyvW/CJSLpd14MAB7xhu6J///q1c+6tUKurp6WnZ/eddyv1Z80tc3h/4Wo3++e/fytOfqT7wr0u9f1YMPwBtxfof8oDhF5H6V+NPEf3T7l//bgApSr1/Vgy/iCwvL3tHcEX/4vRvxdHfyspK0++zSFLvnxUbXgC44InvaBY2vAAoDNb+4InhF5H6d+ROEf3T7l//juApSr1/Vgy/iBw7dsw7giv6F69/M4/+RkZGmnZfRZR6/6xY84tItVpVZ2endww39C9m/2at/dVqNXV0dDTlvooo5f6s+SWuiA98zUT/YvZv1tFfqg/861LvnxXDDwCQHIZfRCYmJrwjuKJ/cfs34+hvenq6CUmKK/X+WTH8ItLd3e0dwRX90+7f1dXlHcFV6v2zYsMLgNzgie/YCza8ACg0nviOdmH4RaRcLntHcEX/tPtXKhXvCK5S758Vwy8iJ0+e9I7giv5x9N/r0d/4+HiTkxRL6v2zYs0PQO6w9ocsWPMDEAXW/tBqDD8AQHIYfhEZHR31juCK/nH1z3r0Nzk52aIkxZB6/6wYfhHp7e31juCK/mn3P3jwoHcEV6n3z4oNLwByjc0v2A0bXgAAaADDLyILCwveEVzRP87+ja79LS0ttTZIzqXePyuGX0ROnTrlHcEV/dPuPzMz4x3BVer9s2LND0AhsPaHC2HND0C0eOI7monhBwBIDsMvIoODg94RXNE//v47Hf2NjY21MUn+pN4/K4ZfRI4cOeIdwRX90+7f19fnHcFV6v2zYsMLgMJh8wvqseEFAIAGMPwiMjs76x3BFf3T6b/d2t/8/LxDkvxIvX9WDL+InD592juCK/qn3X9xcdE7gqvU+2fFmh+AQmLdD+tY8wMAoAEMPwCFxCu+4GIw/CIyMDDgHcEV/dPuPzw87B3BVer9s2LNLyLlclkHDhzwjuGG/mn2X1/7q1Qq6unpcU7jJ+X+rPklLsUHvnr0T7t/qg/861LvnxXDD0ChsfaHvWD4RWRqaso7giv6p92/VCp5R3CVev+sGH4RWV5e9o7giv7p9j906JBWVla8Y7hKvX9WbHgBEA2e+J4mNrwAANAAhl9EqtWqdwRX9Kd/yptfarWad4RCye3wM7MjZvYVMztjZstm9iUze6t3rjw7duyYdwRX9Kd/ykZGRrwjFEpuh5+kOUk/JekqSVdK+hVJHzezXtdUObZ2zjtZ9Ke/lO5TH17xild4RyiU3A6/EMI31z6CJJP092t/HvRNll/33nuvdwRX9Kd/yr74xS96RyiU3A4/STKzK8xsWVJN0mclfUHSn/mmApB3qR79oXH72v0Nzexjkm7d4SYzIYTXSlII4UlJ3WbWKenNkl4i6emd7v+ppxra5Rqlhx56iP70947hZmv/s2fPOqZpv0ceeSS5zuvOnTuX+Wva/jw/M7tMUucON/nu2tDb7mv/XNKnQggf3ua6H5D0jeakBAAU0AtCCN9s5IZtP/ILIZyVtNf/PblE0ksvcN2jkl4giZc5AID0dGl1DjSk7cOvUWb2i5JmJT0i6TlaPVX6k5I+uN3t1zbGNDTxAQDRyXTOP7fDT9IPSjoh6WpJVUlflfRzIQQ2vAAALko0r+0JAECjcv1UBwAAWiG64Zf6y6KZ2S+a2QNm9oSZfcfM7jOzn/DO1S5m1mtmnzKzspkFM3u9d6ZWs1UnzOxRMztnZveb2fXeudrBzN5mZp81s6fWft95XsppOjN7v5nNr/X/lpl9wsyu8c7VLmZ2p5k9YmZPmlnFzKbM7OWNfG10w0+8LFqXpN+R9CJJByT9iaRPm9kLXFO1z9OSJiW9xTtIG/2apF+SdFhSj6QHJE2tPa0odmckjWj133mKgqTbtPp7/4drl+/xDNRm45IOhRCukPR8SdNa/bv/7N2+MOo1PzN7lqRXSfqMpF8IIdztHMnF2qvk/IsQwv/wztJOZhYkvSGE8BnvLK1kZl+X9MEQwsm1y/skfUtSfwjh467h2sTMXivpXkmXhBCecY7jZu2o58uSrgohnPHO005m1iHpnZKGJF0dQnh8p9vHeOTHy6LVMbMfk3SZpNPeWdB8ZnaFpGslfX79c2sP/l+W9CNOseDnjZL+KqXBZ2ZvXnu8r0q6S9LQboNPKtDwM7OPrZ3Tv9DHfeu3DSE8GULo1uopwLdK+nPt8rJoeZelf93XXCNpQtL7Qwhfa3voJtpL/0Rcvvbn8pbPn6m7DglYW9++U9Ive2dppxDCn6093n+fpF+VVGrk6wpz2rNVL4tWFFn7m9mLJf2FpD8OIfxGq/O12l5+/ymc9lw78luW9KoQQqnu89OSHgwh9LuFa6PUT3ua2Vsk/RcluLxRb22p64yk14QQdjzbVZidUS18WbRCyNLfzH5Y0pSkkRDC77Y0WJtc5O8/WiGEJ81sSdIrtfZ/vGtrfi+XlMR6X+rM7Oe1uunnZ0IIU955nD1Lq4/3B7XLUk9hTns2am2r/0vM7Nlm9lwz+2Wtvizap7yztYOZvUrSfZIGYxl8Waxt++9ceycQSbpk7XJh/kdvD0Yk/ZqZXW9mz9XqKyN9V1L0RwBr/847tfoSiJLUsfb7ju6xbTtm9m5Jw5LekuLgM7P3mNn3r/33fq3+W3haqzuedxTjX5Af1OpRz1NafZeHW5XWy6L9vqRuSb9nZmfrPo55B2uTF0n627UPaXW9928l/aZbotb7gKSPaXVX83ckvVrSm9aOlmP3z7X6+11/4D+7dvk1bona68Na3dD2qS3/3l/tHaxN3iDpK2Z2TtJXtPr0rteHEL612xcWZs0PAIBmifHIDwCAHTH8AADJYfgBAJLD8AMAJIfhBwBIDsMPAJAchh8AIDkMPwBAchh+AIDkMPyASJjZUTP732b2N2b2De88QJ7x8mZAJMzsrZKCpJdJemcI4QXOkYDc4sgPKAgz+34z+6aZvafuc+81s78ys+8LIdwdQvjvkr7pGBMohJjf5gWISgjh22Z2s6S/MLMvSOqQ9NuSXhtC+I5vOqBYGH5AgYQQPmdmd0j6Y63+++0PIXzBORZQOJz2BIrnjyQ9V1JN0n90zgIUEsMPKJ7/JOlLkp6U9H7nLEAhcdoTKBAzu13STZJulHSVpC+Y2edCCJNmtk+r/6YvWbtt59qX1QLbuoFNeKoDUBBm9o8kfVrST4YQPr/2uX+m1SPBV0r6OUl3bvOl/yCEsNSunEARMPwAAMlhzQ8AkByGHwAgOQw/AEByGH4AgOQw/AAAyWH4AQCSw/ADACSH4QcASA7DDwCQnP8P2jhh6424ypwAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 6 =============================\n",
            "[iter 100] Jlr=1.4576955096023505, theta=(array([[-0.41013028,  0.07195964,  0.01720419, -0.80349902,  1.60697122,\n",
            "         0.41037694]]), 0.8568542963816546)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 7 =============================\n",
            "[iter 100] Jlr=1.464521440557732, theta=(array([[ 0.80902113, -0.052551  ,  0.00581856, -0.05031622,  1.77423359,\n",
            "        -0.32188004]]), -0.4684962300293029)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 8 =============================\n",
            "[iter 69] Jlr=1.5078633932691825, theta=(array([[-0.54224939,  0.33357732, -0.46619783, -1.66281628,  1.10079217,\n",
            "         1.2161832 ]]), 0.9914216352274275)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 9 =============================\n",
            "[iter 100] Jlr=1.4606579457978628, theta=(array([[ 0.40759048, -0.02776929, -0.13897798,  0.39821935,  1.83472853,\n",
            "         0.08459191]]), -0.9546375932339068)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 10 =============================\n",
            "[iter 100] Jlr=1.4888535595283674, theta=(array([[ 0.73264385,  0.12188149, -0.25543491, -0.16484494,  2.01800788,\n",
            "        -0.64153034]]), 0.036392571110713645)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 11 =============================\n",
            "[iter 100] Jlr=1.5433875518123878, theta=(array([[ 1.47716415, -0.03297402, -0.0608251 , -1.47173667,  1.86909318,\n",
            "         0.09132634]]), -0.10285011466032708)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "kO40ZIiyuPux",
        "outputId": "eb0aecf6-a743-4123-8fb4-80a2531895ad"
      },
      "source": [
        "X_hard = np.array([[1, 1, 1, 2, 2, 2, 3, 4, ],\n",
        "                   [3, 2, 1, 3, 2, 1, 3, 1, ]])\n",
        "Y_hard = np.array([[0, 0, 1, 1, 1, 0, 0, 1, ]])\n",
        "\n",
        "if 1:\n",
        "    xorplot(X_hard, Y_hard)\n",
        "    plt.show()\n",
        "\n",
        "for k in range(1, 6):\n",
        "    print(f\"======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model3 = make_model(X_hard, Y_hard, phi1, eta=0.15, lamb=0.04, \n",
        "                        epsilon=1.0e-5, niter=4000, verbose=False)\n",
        "    xorplot(X_hard, Y_hard, model3, phi1, npts=400, xmin=-2, xmax=5)\n",
        "    plt.show()"
      ],
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 1 =============================\n",
            "[iter 4000] Jlr=103.6192553382638, theta=(array([[-0.01799368,  0.03632622, -0.00781834,  0.09152402, -0.16070772,\n",
            "        -0.3322643 ]]), 0.23292271198686354)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 2 =============================\n",
            "[iter 4000] Jlr=7.78584026938688, theta=(array([[ 0.01637146,  0.10953264,  0.07067165,  0.27518312,  0.00608916,\n",
            "        -0.13023411]]), 0.26609643865765303)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 3 =============================\n",
            "[iter 4000] Jlr=103.61925844431273, theta=(array([[-0.01626423,  0.03768438, -0.00645059,  0.091389  , -0.16088678,\n",
            "        -0.33241574]]), 0.22757367610871984)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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ZOCCFyIiUo2v50dERFQFNj8lKl840hqr2azmAphNK8vZomLzU+LQoUOhS/DGajaruQBm08pytqg48yMiItU48yMiIqoCmx8RESUOm58SHR0doUvwxmo2q7kAZtPKcrao2PyU2LZtW+gSvLGazWougNm0spwtKi54ISIi1bjghYiIqApsfkoMDAyELsEbq9ms5gKYTSvL2aJi81Pi+PHjoUvwxmo2q7kAZtPKcraoOPMjIiLVOPMjIiKqApsfERElDpufEu3t7aFL8MZqNqu5AGbTynK2qDjzU2JkZATr168PXYYXVrNZzQUwm1ZWsy1m5sfmR0REqnHBCxERURXY/JTIZrOhS/DGajaruQBm08pytqjY/JQ4ffp06BK8sZrNai6A2bSynC0qzvyIiEg1zvyIiIiqwOanxPj4eOgSvLGazWougNm0spwtKjY/Jfbs2RO6BG+sZrOaC2A2rSxni4ozPyXGx8exfPny0GV4YTWb1VwAs2llNRtnfoZZfMCWWc1mNRfAbFpZzhYVmx8RESUOm58Svb29oUvwxmo2q7kAZtPKcrao2PyUWL16degSvLGazWougNm0spwtKi54ISIi1bjghYiIqApsfkqMjIyELsEbq9ms5gKYTSvL2aJi81Ni3759oUvwxmo2q7kAZtPKcraoYj/zExEBsBfADgCrADwM4BPOucem7ceZHxFRAlmd+X0KwMcAbAXQDOB+AFkRWRm0KiIiUktD8/sEgC855wadc78E8GkAFwP4V2HLIiIirWLd/ERkFYDLADxYfp9z7gKARwFcHaisILq6ukKX4I3VbFZzAcymleVsUcW6+QEoD++mv/zwqYrbEmHjxo2hS/DGajaruQBm08pytqji3vzKg8vpT0uwpuK2KW6++Wa0tbWhra0N99xzD9ra2qa8hlVvby+y2ezk9sjICNrb26d8jq6uLgwMDExuDw0NoaOjY8o+HR0dGBoamtweGBiY8VdVe3v7lKXF2Wx2ytMLjY+PV13f5s2bY11fpaj1bd68Odb1AYv7/l111VWxrm8p379KcaxvKd+/8s9aXOsrW0x9J06ciHV9Ub5/2WwWbW1t2L59O7Zu3YqoNKz2/HsAKefcl0vbywA8A+CPnHN/WbEfV3sSESWQ1dWenQA+JSJXisgrAHwGwIsAvh22rPqq/CvLGqvZrOYCmE0ry9mi0tD8vgTgLgCHAfwCwLsA/JZz7mzIourt0KFDoUvwxmo2q7kAZtPKcraoYn/as1o87UlElExWT3sSERHVFJsfERElDpufEtOXGltiNZvVXACzaWU5W1Rsfkps27YtdAneWM1mNRfAbFpZzhYVF7wQEZFqXPBCRERUBTY/JSqfbsgaq9ms5gKYTSvL2aJi81Pi+PHjoUvwxmo2q7kAZtPKcraoOPMjIiLVOPMjIiKqApsfERElDpufEtNf08oSq9ms5gKYTSvL2aLizE+JkZERrF+/PnQZXljNZjUXwGxaWc22mJkfmx8REanGBS9ERERVYIK4E34AAA5mSURBVPNTIpvNhi7BG6vZrOYCmE0ry9miYvNT4vTp06FL8MZqNqu5AGbTynK2qDjzIyIi1TjzIyIiqgKbnxLj4+OhS/DGajaruQBm08pytqjY/JTYs2dP6BK8sZrNai6A2bSynC0qzvyUGB8fx/Lly0OX4YXVbFZzAcymldVsnPkZZvEBW2Y1m9VcALNpZTlbVGx+RESUOGx+SvT29oYuwRur2azmAphNK8vZomLzU2L16tWhS/DGajaruQBm08pytqi44IWIiFTjghciIqIqsPkpMTIyEroEb6xms5oLYDatLGeLis1PiX379oUuwRur2azmAphNK8vZouLMj4iIVOPMj4iIqApsfkRElDjLQhdAE44dOzbv7ZlMBjfeeGNdatm0aVNdvk5ZV1cXbrvttrp+zXqwmgtgNq0sZ4uKza8OFmps1WhpaalBJdVZqN5aN8eNGzfW9PPFhdVcALNpZTlbVFzwUgO1aG7a1ftokYiobDELXnjkFwGb3Nymf2/YDIkoztj85hC3RpfP53HZZZeFLqNqUZrh0NAQ3vSmN/kuqe6s5gKYTSvL2aJi80P8Gt1s+vv7VTW/6Sq/x9Mb4aFDh0z+QFrNBTCbVpazRZW4mZ+GRpckPD1KREvFmd80bHTxx1khEYVgrvk98sgjWLlyZegyaJHKzZBNkIh84jO8KNHd3R26BG9my3bs2LHJN606OjpCl+ANs+lkOVtU5o78rGptbQ1dgjcLZZtvsUycbdu2LXQJ3jCbTpazRWVuwcuRI0d42jMBNDVBIvLL1Ks6iMhGEfmuiIyIiBORLaFrovjQfkqUiMKKbfMDcB5ABsANoQuJg8HBwdAleLOUbHFuggMDA6FL8IbZdLKcLarYNj/n3E+ccwecc/H8zVZnw8PDoUvwphbZ4tgEjx8/HroEb5hNJ8vZolIx8xMRB+C9zrnD8+zDmR9N4kyQKDlUzPxE5K7SDG+ut/vqXRPZE8cjQSKKjxCnPW8HsHaetyWtxd29ezdSqRRSqRSOHj2KVCqFYrE4eXtfXx9yudzkdqFQQDqdnvI5MpnMlDlUPp+fcS1ad3c38vn85Pbg4CAymcyUfdLpNAqFwuR2LpdDX1/f5HaxWGR9nuu79957sX379imNsKura8rsY2hoaMb1Tx0dHRgaGprcHhgYQFdX15R92tvbMTIyMrmdzWbR29s7uT0+Po62tjaMj49Pvq+3txfZbHZye2RkBO3t7VM+L+tjfaxv4fqy2Sza2tqwfft2bN26FVHxtKcS6XQat99+e+gyvKh3tnqdEm1vb8fnP//5unytemM2naxmW8xpz9g2PxERAA2lzV8C+BcAjgC44Jy7MMv+pptfoVBAc3Nz6DK8CJXNdxMcGRnB+vXrvX6NUJhNJ6vZVMz8Ing9JpreL0vbf136/x8Hqyggq40PCJfN90zQ4i+ZMmbTyXK2qGL79GbOuTwACV0H2cZXlSBKpjgf+VGFykUc1sQpWy1XiVYO7q1hNp0sZ4uKzU+JsbGx0CV4E8dstWiCp0+frlE18cNsOlnOFlVsF7xEZX3BC4XDU6FE8WZtwQtRLPBieSJ72PyUqLyQ2xoN2RZzGrTy4l1rmE0ny9miYvNTorOzM3QJ3mjKFqUJ7tmzx3M14TCbTpazRcWZnxLFYhENDQ0L76iQ5mzzzQPHx8exfPnyOlZTP8ymk9VsnPkZprU5VENztvmOAi3+kiljNp0sZ4uKzY9oifgKEkT6sPkpUflqBtZYyTa9CVY+g701zKaT5WxRsfkp0djYGLoEb6xlKzfA1atXB67EH2bTyXK2qLjghcgjXiBP5B8XvBDFDGeBRPHE5qdE5SuaW2M1WzmXxQUxla/QbQ2zJQObnxI9PT2hS/DGarbpuSw1wX379oUuwRtmSwbO/IgC4CyQqHY48yNSwtJRIJFGbH5EAbEBEoXB5qdEJpMJXYI3VrNVm0tjA+zq6gpdgjfMlgxsfkq0tLSELsEbq9mi5NLWADdu3Bi6BG+YLRm44IUoZrgYhigaLnghMkDbUSCRRmx+SuTz+dAleGM121JyxX016NDQUOgSvGG2ZGDzU6K/vz90Cd5YzVaLXHFtgIcOHQpdgjfMlgyc+REpwVkg0ewWM/Nb5rckIqqVyqNANkKipeFpTyKF4no6lEgLNj8luru7Q5fgjdVsvnOFXBTT0dER5OvWA7MlA5ufEq2traFL8MZqtnrlCtEAt23bVvevWS/Mlgxc8EJkCGeBlES8yJ0o4TgLJKoOm58Sg4ODoUvwxmq2ULnqMQscGBjw+vlDYrZkYPNTYnh4OHQJ3ljNFjqXzwZ4/Phxb587NGZLBs78iIzjHJCs48yPiGaI+/OEEoXA5keUEGyARC9h81MinU6HLsEbq9nimKtWDbC9vb0mnyeOmC0ZOPNTolAooLm5OXQZXljNFudcS50DjoyMYP369TWqJl6YTZ/FzPzY/IgSjIthyAIueCGiSDgHpKRi81Mil8uFLsEbq9m05FpMA8xmsx4qiQdmSwY2PyXGxsZCl+CN1WyackW9HOL06dMeqwmL2ZKBMz8imoJzQNKGMz8iWjJeFE9JwOanRLFYDF2CN1azac81XwMcHx+vYyX1xWzJENvmJyIfFZH7RWRURH4hIveJyD8LXVconZ2doUvwxmo2C7nmaoB79uypcyX1w2zJENvmB6ARwJ8AeD2A9QD+F4B7ReTSoFUF8va3vz10Cd5YzWYl12ynQa+77rpA1fjHbMkQ2+bnnPsvzrmsc27MOfeic+7PAfwKwDtC1xbCww8/HLoEb6xms5arsgEeOXIkYCV+MVsyxLb5TScivwFgJQC+IBVRIFwIQ1Ysq/cXFJG7APzuPLv0O+eunfYxrwXQC+ALzrmn5vv8586dW2qJsfTkk0/i7Nmzocvwwmo2q7nuu+8+PPDAAzhzpqoV5eo8/vjjzKbMYjLV/To/EVkJYPk8u7zonHu+Yv83AvgegG865/79PJ/31wA8XbNCiYhIm0udcz+rZsdYX+QuIv8EQBZAp3PuTxfYVwBcAkDP02oQEVGtNAJ4xlXZ1GLb/ETkNwF8B8CflBa7EBER1UScm98RAK0AXph2053OuTsDlEREREbEtvkRERH5ouZSByIiolox1/wsPy2aiGwUke+KyIiIOBHZErqmxZIJnxGRZ0TknIgcFZErQ9dVCyJyq4j8QETOlO6nul9S5IOIfEFEBku5nhWRu0uXIaknIneIyJMi8ryIFEQkKyJXha6r1kTk29p/d1QSkb0i8isROVvxdnc1H2uu+cH206KdB5ABcEPoQmrgUwA+BmArgGYA9wPIli6F0e4UgE4AfxC6kBpzALZj4v56c2n7npAF1VAPgE3OuVWYWDXeh4nH48vDllU7IvJRAK8MXYcHOefcyoq3D1XzQYmY+YnIaQC/55z7duhaakVEHID3OucOh65lMUTk7wH8uXNuX2l7GYBnAbQ55/4yaHE1IiLXAjgC4CLn3IXA5dRc6cjoUQBNzrlToeupFRFpAPBxACkA65xzJwOXtGSlP/4fAPBOACeg+HdHJRHZC2CLc+6dUT/W4pHfFHxatPgRkVUALgPwYPl9pebwKICrA5VF0V0P4ISVxici7yv9oTwO4D8DSBlpfALgawA+65z7aeh6PLhaRE6KyAkR+SsReUM1H6Sm+YnIXaVz1XO93TfLx1T9tGghLSabcq8q/Xt62vtPVdxGMVaaGd0B4N+GrqVWnHP/2zm3GsCrAfwRgFzgkmrl45g4y7c/dCEeHATw6wDWAfhNTJyKP1zN+ETTIP52TMyJ5vJi5UbF06J9wzn3xz4Lq4FI2QwoPxHf6mnvXwOgqqcmonBE5AYA/wPAR5xz94aup9acc6Misg/AKRF5wjmn9qyRiFwO4NMANoeuxQfn3GMVmz8TkY8BeB4TjbBvvo9V0/ycc2cBVPUswVGeFi0OomSzwDn3vIjkMfHyVDlgcuZ3FQAT8z6rROTDmFjMc4tzLhu6Ho9eBuAiAC3QPTJ5FyaOZB+eOPs56Vsi0uuc2xmmLG9c6U0W2lHNac9qlZ4W7T4AHRoaXxSlywOWi0j5icEvKm2r+SOmQieAT4nIlSLyCgCfwcQRrvpFSSLy8tJ9dHHpXQ2l+0n1z5uI3A4gDeAGa41PRD4pIq8p/X8tJh6f5zGxClmzbwDYgIk/LMtvAHAbgN2hiqoVEblFRJpL/38NgL8A8HNMLO6Zl+ofxjl8DhOn0z477dqPPaELq4HXA/hl6Q0A/rr0/7if1p3NlwDcBeAwgF9g4i/U3yodBWv3O5i4X8oN4mxp+93BKqqNr2Bi8dh3p/1svSt0YTXwXgA/FpFzAH6Micuktjjnng1b1tI4515wzj1d+Va6qeCcGw1aXG18BMBPROQFAI9g4mh9i3NuwRc4SMSlDkRERJUsHvkRERHNi82PiIgSh82PiIgSh82PiIgSh82PiIgSh82PiIgSh82PiIgSh82PiIgSh82PiIgSh82PyAgR2SUifyMiL4jI0wt/BFFy8enNiIwQkZsw8Yz2bwLwcefcpYFLIootHvkRKSEirxGRn4nIJyve9x9Kr2D9aufcQefct8DXRCRakMaXwiFKJOfcz0XkZgDfE5GHADQA+E8ArnXO/SJsdUS6sPkRKeKce0BEdgP4JiZ+ftuccw8FLotIHZ72JNLn6wBeAaAI4KuBayFSic2PSJ+vYeKFO58H8IXAtRCpxNOeRIqIyB8C2AzgbQCaADwkIg845zIisgwTP9MXlfZdXvqwouOybqIpeKkDkRIi8k4A9wL45865B0vv+wAmjgTfAeBfA7hjlg99g3MuX686iTRg8yMiosThzI+IiBKHzY+IiBKHzY+IiBKHzY+IiBKHzY+IiBKHzY+IiBKHzY+IiBKHzY+IiBKHzY+IiBLn/wM8bth+2h3OlAAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 4 =============================\n",
            "[iter 4000] Jlr=103.61925806843375, theta=(array([[-0.01646576,  0.03752612, -0.00660997,  0.09140473, -0.16086591,\n",
            "        -0.3323981 ]]), 0.22819699551191389)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 5 =============================\n",
            "[iter 4000] Jlr=103.61925942697539, theta=(array([[-0.01574639,  0.03809105, -0.00604106,  0.09134857, -0.16094038,\n",
            "        -0.33246109]]), 0.2259720804648479)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 529
        },
        "id": "51rXY4ksnITI",
        "outputId": "f35e29fb-9796-41bf-e185-13e7ab07346c"
      },
      "source": [
        "def phi_n(xv, max_order=3):\n",
        "    x1 = xv[0]\n",
        "    x2 = xv[1]\n",
        "    terms = [1]\n",
        "    for order in range(1, max_order+1):\n",
        "        for j in range(order):\n",
        "            k = order - j\n",
        "            terms.append(x1**j * x2**k)\n",
        "    return terms\n",
        "\n",
        "def phi3(xv):\n",
        "    return phi_n(xv, 3)\n",
        "\n",
        "def phi4(xv):\n",
        "    return phi_n(xv, 4)\n",
        "\n",
        "\n",
        "for k in range(5, 6):\n",
        "    print(f\"======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model4 = make_model(X_hard, Y_hard, phi3, eta=0.05, lamb=0.1, \n",
        "                        epsilon=1.0e-6, niter=10000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model4, phi3, npts=400, xmin=-2, xmax=5)\n",
        "    plt.show()"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 5 =============================\n",
            "[iter 10000] Jlr=73.4856835875811, theta=(array([[-2.21629556e-04,  1.37769366e-02, -9.01634983e-03,\n",
            "         4.66238863e-01, -2.06974179e-01, -1.13737335e-01,\n",
            "        -1.44410858e-02]]), 0.2710917268980736)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "DS69GCDCtWWb",
        "outputId": "dabd2787-cacf-4744-f418-50ffd09b1f03"
      },
      "source": [
        "\n",
        "for k in range(5, 10):\n",
        "    print(f\"======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model5 = make_model(X_hard, Y_hard, phi4, eta=0.01, lamb=0.2, \n",
        "                        epsilon=1.0e-6, niter=40000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model5, phi4, npts=400, xmin=-2, xmax=5)\n",
        "    plt.show()"
      ],
      "execution_count": 75,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 5 =============================\n",
            "[iter 40000] Jlr=40.37561546311583, theta=(array([[ 1.02833851e-03, -2.00687675e-02, -6.09652579e-02,\n",
            "         3.28866098e-01, -1.38865074e-01,  5.70776102e-01,\n",
            "         5.30101913e-01, -2.82985211e-01,  8.33681749e-01,\n",
            "        -1.16776110e+00,  1.98730889e-01]]), -0.7559127464885573)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 6 =============================\n",
            "[iter 40000] Jlr=8.613341724163634, theta=(array([[-0.00255434, -0.02742208, -0.07838016,  0.31431129, -0.18396411,\n",
            "         0.53706253,  0.4955271 , -0.40613538,  0.74643505, -1.24469951,\n",
            "         0.10415316]]), -0.7589865177874865)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 7 =============================\n",
            "[iter 40000] Jlr=8.61326920592169, theta=(array([[-0.00251095, -0.02734591, -0.07820151,  0.31433058, -0.18346968,\n",
            "         0.53714987,  0.49535439, -0.40467695,  0.74675464, -1.24487602,\n",
            "         0.10328503]]), -0.7593943723370921)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 8 =============================\n",
            "[iter 40000] Jlr=8.613241266262612, theta=(array([[-0.00261292, -0.02743413, -0.07825376,  0.31421609, -0.18342466,\n",
            "         0.53703288,  0.49522205, -0.40436138,  0.74660443, -1.24509191,\n",
            "         0.1032578 ]]), -0.7583966902262056)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 9 =============================\n",
            "[iter 40000] Jlr=8.609056283112505, theta=(array([[ 0.00127431, -0.01799338, -0.05319594,  0.33297656, -0.11360262,\n",
            "         0.58709944,  0.53910043, -0.20442063,  0.88749511, -1.12852505,\n",
            "         0.21828385]]), -0.7545249420688346)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 566
        },
        "id": "ykdhrfVr1JjM",
        "outputId": "3f0283c8-3336-487d-b3fd-ccb69c7f9036"
      },
      "source": [
        "def phi5(xv):\n",
        "    return phi_n(xv, 5)\n",
        "\n",
        "\n",
        "for k in range(5, 6):\n",
        "    print(f\"======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model6 = make_model(X_hard, Y_hard, phi5, eta=0.01, lamb=0.01, \n",
        "                        epsilon=1.0e-6, niter=3000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model6, phi5, npts=400, xmin=-2, xmax=5)\n",
        "    plt.show()"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 5 =============================\n",
            "[iter 3000] Jlr=5.687615440343507, theta=(array([[ 0.15369128, -0.47980562,  1.45397369, -0.18732836, -0.45675133,\n",
            "         1.53733993, -0.39911881, -1.25981538,  1.27859744,  0.39399101,\n",
            "        -0.35345028, -1.24402583,  2.55314116,  0.92050656, -3.21366757,\n",
            "         0.78107479]]), 0.9091576342617509)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "2Vnt5kX6Er_P",
        "outputId": "351a7a62-f5dd-4e82-bff1-73e53b95a37a"
      },
      "source": [
        "def phi6(xv):\n",
        "    return phi_n(xv, 5)\n",
        "\n",
        "\n",
        "for k in range(5, 10):\n",
        "    print(f\"======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model7 = make_model(X_hard, Y_hard, phi6, eta=0.005, lamb=0.01, \n",
        "                        epsilon=1.0e-6, niter=4000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model7, phi6, npts=400, xmin=-2, xmax=5)\n",
        "    plt.show()"
      ],
      "execution_count": 80,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 5 =============================\n",
            "[iter 385] Jlr=5.641861721036679, theta=(array([[ 0.2954474 , -0.52216349,  2.08503939, -0.24279594, -0.33937956,\n",
            "         1.70339309, -0.59462017, -1.1541207 ,  0.71910858,  0.09826329,\n",
            "        -0.47336624, -0.52397663,  1.22351878,  0.90447945, -2.41222899,\n",
            "         0.84199057]]), 1.01300720920584)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 6 =============================\n",
            "[iter 4000] Jlr=5.632727382273293, theta=(array([[-0.09547253,  0.84982263,  0.57303595, -0.9332362 , -1.4916781 ,\n",
            "         1.00100751, -0.04473677, -0.79763217,  2.2071156 , -0.6974173 ,\n",
            "         0.38823606, -0.47456326,  0.94581022,  0.8663789 , -2.04716196,\n",
            "         0.37987741]]), 0.23514649863847403)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 7 =============================\n",
            "[iter 309] Jlr=6.485837785562848, theta=(array([[ 1.59716299, -0.48630257,  0.07489591,  0.39269769, -0.62342238,\n",
            "         0.14170528,  0.0345522 , -1.44081155,  1.33337224,  0.68949895,\n",
            "        -0.34703169,  0.1211584 ,  0.89764259, -0.53117706, -0.80368664,\n",
            "         0.24878642]]), 0.48681377868830766)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 8 =============================\n",
            "[iter 4000] Jlr=5.679553221612781, theta=(array([[ 0.20738418,  0.96090204, -1.66379988, -1.22145881, -2.24434204,\n",
            "         2.10919112,  1.045977  ,  0.79210588,  1.34397581,  0.84477265,\n",
            "        -1.53595699, -0.92096619,  1.22302205,  0.17680929, -1.66479283,\n",
            "         0.64461679]]), 0.9861197829111009)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "stream",
          "text": [
            "======================= random seed = 9 =============================\n",
            "[iter 333] Jlr=6.470044411756953, theta=(array([[ 0.10726944, -0.1180049 , -0.85364891,  0.36708058, -0.10544751,\n",
            "         0.17905632, -0.90527006, -0.56609174,  0.72578654, -0.17709229,\n",
            "         1.14692871, -0.25796726,  1.17052815, -0.32827705, -0.9809248 ,\n",
            "         0.0791583 ]]), 1.650474800443662)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 531
        },
        "id": "CNnV7iaiFA6j",
        "outputId": "7ba802c3-246a-48e9-cf00-982ca3129eab"
      },
      "source": [
        "def model1(fv):\n",
        "    if fv[0] * fv[1] > 0:\n",
        "        return 1\n",
        "    return 0\n",
        "\n",
        "def phi1(xv):\n",
        "    return xv\n",
        "\n",
        "def phi2(xv):\n",
        "    x1 = xv[0]\n",
        "    x2 = xv[1]\n",
        "    return [1, x1, x2, x1**2, x1*x2, x2**2]\n",
        "\n",
        "if 0:\n",
        "    xorplot(X_xor, Y_xor, model1, phi1, 100)\n",
        "    plt.gcf().savefig(\"feature_representation_xor_sign.pdf\", bbox_inches='tight')    \n",
        "    # plt.show()\n",
        "\n",
        "if 1:\n",
        "    k = 5\n",
        "    print(f\"[order 2] ======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model2 = make_model(X_xor, Y_xor, phi2, niter=100, eta=0.1, lamb=0.04, \n",
        "                        epsilon=1.0e-5, verbose=False)\n",
        "    xorplot(X_xor, Y_xor, model2, phi2, npts=400)\n",
        "    # plt.show()\n",
        "    plt.gcf().savefig(\"feature_representation_xor_order2.pdf\", bbox_inches='tight')\n",
        "    plt.show()\n",
        "\n",
        "if 0:\n",
        "    k = 5\n",
        "    print(f\"[order 2] ======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model3 = make_model(X_hard, Y_hard, phi2, eta=0.05, lamb=0.1, \n",
        "                        epsilon=1.0e-6, niter=10000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model3, phi2, npts=400, xmin=-2, xmax=5)\n",
        "    plt.gcf().savefig(\"feature_representation_hard_order2.pdf\", bbox_inches='tight')\n",
        "    plt.show()\n",
        "\n",
        "if 0:\n",
        "    k = 5\n",
        "    print(f\"[order 3] ======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model4 = make_model(X_hard, Y_hard, phi3, eta=0.05, lamb=0.1, \n",
        "                        epsilon=1.0e-6, niter=10000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model4, phi3, npts=400, xmin=-2, xmax=5)\n",
        "    plt.gcf().savefig(\"feature_representation_hard_order3.pdf\", bbox_inches='tight')\n",
        "    plt.show()\n",
        "\n",
        "if 0:\n",
        "    plt.clf()\n",
        "    k = 5\n",
        "    print(f\"[order 4] ======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model5 = make_model(X_hard, Y_hard, phi4, eta=0.01, lamb=0.2, \n",
        "                        epsilon=1.0e-6, niter=40000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model5, phi4, npts=400, xmin=-2, xmax=5)\n",
        "    plt.gcf().savefig(\"feature_representation_hard_order4.pdf\", bbox_inches='tight')\n",
        "    plt.show()\n",
        "\n",
        "if 0:\n",
        "    k = 5\n",
        "    print(f\"[order 5] ======================= random seed = {k} =============================\")\n",
        "    np.random.seed(k)\n",
        "    model6 = make_model(X_hard, Y_hard, phi5, eta=0.01, lamb=0.01, \n",
        "                        epsilon=1.0e-6, niter=3000, verbose=False)    \n",
        "    xorplot(X_hard, Y_hard, model6, phi5, npts=400, xmin=-2, xmax=5)\n",
        "    plt.gcf().savefig(\"feature_representation_hard_order5.pdf\", bbox_inches='tight')\n",
        "    plt.show()\n"
      ],
      "execution_count": 24,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[order 2] ======================= random seed = 5 =============================\n",
            "[iter 100] Jlr=1.490301644810981, theta=(array([[ 0.21099206, -0.06823823,  0.3772958 , -0.25338133,  1.99831484,\n",
            "         0.97538385]]), -1.0412852251739448)\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "X0PusTlSSn2Z"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}